#ifndef RULEREGEX_H
#define RULEREGEX_H

// #include <pcre++.h>
#include <boost/scoped_ptr.hpp>
#include <boost/regex.hpp>

#include "global.h"
#include "rule.h"


namespace fouine {

class RegexRule : public RuleImpl
{
  public:
    RegexRule(const String& pattern);
    virtual Likelihood match(const String&, StrId start, StrLen length, const Table& table) const;
    virtual Likelihood test_match(const String&) const;
  private:
    boost::scoped_ptr<boost::wregex> _ptn;
};

}

#endif // RULEREGEX_H
